No lo entiendo, envié el tipo de entrada correcto aquí:
Persona que llama desde el código JS:
export interface FilterInput { limit?: number; } const filter: FilterInput = { limit: 1 }; const query = { query: `query { companies(filter: ${filter}) { list { name } } }`, }; const response = await sendQuery(query);Esquema GraphQL:
companies(filter: FilterInput): Companies input FilterInput { limit: Int } Error: Expected value of type "FilterInput", found [object, Object].
Cuando pruebo esto en graphiql en el navegador, funciona bien:
query { companies(filter: { limit: 6 }) { list { name } } }El uso de un objeto js en una cadena de plantilla se resuelve directamente en [object Object] es decir, ${filter} se resuelve precisamente en [object Object] de ahí el error.
Para resolverlo puedes usar JSON.stringify(filter) . Aquí está la cadena en el mismo formato que antes pero con la corrección:
`query { companies(filter: ${JSON.stringify(filter)}) { list { name } } }`